﻿using System;

namespace PrimeNum
{
    /// <summary>
    /// 输出100000以内最大的质数
    /// </summary>

    internal class Program
    {
        //定义最大值，用long类型
        const long upValue = 100000000;
        static void Main(string[] args)
        {
            
            //首先定义判定用的布尔变量
            bool isFlag = true;
            //定义程序开始时的时间
            DateTime dt1 = DateTime.Now; 
            //对所要求的值从大到小进行遍历
            for (long i = upValue; i >3; i--)
            {
                for (int j = 2; j <= Math.Pow(i,0.5); j++)
                {
                    if (i % j == 0)
                    {
                        isFlag = false;
                        //要是非质数就直接跳出，进行下一个数的判定
                        break; 
                    }
                }
                if (isFlag)
                {
                    //遇到最大质数直接输出
                    Console.WriteLine($"\"{upValue}\"以内的最大质数为：{i}");
                    break;
                }
                isFlag = true;

            }
            //程序结束时的时间
            DateTime dt2 = DateTime.Now;
            //两个时间相减
            TimeSpan ts = dt2 - dt1;
            //输出运行时间
            Console.WriteLine("程序的运行时间：{0} 毫秒", ts.TotalMilliseconds);

        }
    }
}